﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Recursos.Model;

namespace Recursos.View
{
    public partial class EquipoView : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            var userSecurity = ((Usuario)Session["UserLogged"]);
            var permisos = new PermisosModel();
            if (userSecurity == null)
                Response.Redirect("~/NoAccess.aspx");
            if (!Page.IsPostBack && userSecurity != null && permisos.obtenerRolUsuario(userSecurity.Cedula).Equals("Administrador"))
                PopulateDropDown();

            else if (userSecurity == null || !permisos.obtenerRolUsuario(userSecurity.Cedula).Equals("Administrador"))
            {
                Response.Redirect("~/NoAccess.aspx");
            }
        }

        private void PopulateDropDown()
        {
            CargarTipoRecurso();
            CargarEstadoRecurso();
        }

        private void CargarTipoRecurso()
        {
            var tipoRecursos = new EquipoModel();
            DropDownListTipoRecurso.DataSource = tipoRecursos.CargarTiposRecurso();
            DropDownListTipoRecurso.DataTextField = "Nombre";
            DropDownListTipoRecurso.DataValueField = "id";
            DropDownListTipoRecurso.DataBind();
        }

        private void CargarEstadoRecurso()
        {
            DropDownListEstado.Items.Add("Disponible");
            DropDownListEstado.Items.Add("Fuera de Servicio");
        }

        protected void CrearRecurso(object sender, EventArgs e)
        {
            if (DropDownListTipoRecurso.SelectedValue == "")
                return;
            var equipo = new EquipoModel();
            var resultadoinsercion=equipo.CrearRecurso(int.Parse(DropDownListTipoRecurso.SelectedValue),
                                TextBoxNumActivo.Text,
                                TextBoxNumSerie.Text,
                                "",
                                DropDownListEstado.SelectedItem.Text,
                                TextBoxDescripcion.Text);
            if (resultadoinsercion != 0)
                WebMsgBox.Show("Equipo " + TextBoxNumActivo.Text + " creado correctamente","Creación de Equipo");
            else
                WebMsgBox.Show("Error: equipo " + TextBoxNumActivo.Text  + " duplicado", "Creación de Equipo");
            CleanTextBox();
        }

        private void CleanTextBox()
        {
            TextBoxNumActivo.Text = TextBoxNumSerie.Text = TextBoxDescripcion.Text  = "";
        }
    }
}